1.不存在则插入,存在则更新
1.1 on duplicate key update
如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则执行UPDATE语句,例:
1 | INSERT INTO `student`(`name`, `age`) VALUES('Jack', 19) |
1.2 replace into
如果插入的数据会导致UNIQUE 索引
或PRIMARY KEY
发生冲突/重复,则先删除旧数据再插入最新的数据,例:
1 | REPLACE INTO `student`(`name`, `age`) VALUES('Jack', 18); |
2. 避免重复插入
关键字/句:insert ignore into
,如果插入的数据会导致UNIQUE索引
或PRIMARY KEY
发生冲突/重复,则忽略此次操作/不插入数据,例:
1 | INSERT IGNORE INTO `student`(`name`, `age`) VALUES('Jack', 18); |
这里已经存在name='Jack'
的数据,所以会忽略掉新插入的数据,受影响行数为0
,表数据不变。
以上。